/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package OtrosTPs.TP4;

import OtrosTPs.TP1.LevenshteinDistance;
import java.util.ArrayList;

/**
 *
 * @author usuario
 */
public class Ejercicio1 {

    LevenshteinDistance lev = new LevenshteinDistance();

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        ArrayList<ArrayList<String>> pivotes = new ArrayList<ArrayList<String>>();
        ArrayList<ArrayList<String>> pares = new ArrayList<ArrayList<String>>();

        ArrayList<String> grupo;
        grupo = new ArrayList<String>();
        grupo.add("Ana");
        grupo.add("Francisco");
        grupo.add("Belen");
        pivotes.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Zulma");
        grupo.add("Pedro");
        grupo.add("Esteban");
        pivotes.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Amy");
        grupo.add("Paula");
        grupo.add("Claudia");
        pivotes.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Ana");
        grupo.add("Cristian");
        grupo.add("Amy");
        pivotes.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Francisco");
        grupo.add("Esteban");
        grupo.add("Paula");
        pivotes.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Ana");
        grupo.add("Francisco");
        grupo.add("Belen");
        pivotes.add(grupo);


        grupo = new ArrayList<String>();
        grupo.add("Clara");
        grupo.add("Fernando");
        pares.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Adrian");
        grupo.add("Alan");
        pares.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Cameron");
        grupo.add("Charlize");
        pares.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Esteban");
        grupo.add("Jorge");
        pares.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Anahi");
        grupo.add("Estanislao");
        pares.add(grupo);

        grupo = new ArrayList<String>();
        grupo.add("Anama");
        grupo.add("Pedro");
        pares.add(grupo);

        for (int g = 0; g < 5; g++) {
            double prom = 0;
            System.out.println();
            System.out.println("#######################################");
            for (int p = 0; p < 6; p++) {
                int d1 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(0), pares.get(p).get(0));
                int d2 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(1), pares.get(p).get(0));
                int d3 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(2), pares.get(p).get(0));
                int d4 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(0), pares.get(p).get(1));
                int d5 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(1), pares.get(p).get(1));
                int d6 = LevenshteinDistance.computeLevenshteinDistance(pivotes.get(g).get(2), pares.get(p).get(1));

                System.out.println("Grupo " + (g + 1) + " - Par " + (p + 1));
                System.out.println("Firma: " + pares.get(p).get(0) + ": (" + d1 + ", " + d2 + ", " + d3 + ")");
                System.out.println("Firma: " + pares.get(p).get(1) + ": (" + d4 + ", " + d5 + ", " + d6 + ")");

                int maximo = 0;
                if (Math.abs(d1 - d4) >= Math.abs(d2 - d5) && Math.abs(d1 - d4) >= Math.abs(d3 - d6)) {
                    maximo = Math.abs(d1 - d4);
                } else {
                    if (Math.abs(d2 - d5) >= Math.abs(d1 - d4) && Math.abs(d2 - d5) >= Math.abs(d3 - d6)) {
                        maximo = Math.abs(d2 - d5);
                    } else {
                        if (Math.abs(d3 - d6) >= Math.abs(d1 - d4) && Math.abs(d3 - d6) >= Math.abs(d2 - d5)) {
                            maximo = Math.abs(d3 - d6);
                        }
                    }
                }

                System.out.println("Distancia maxima:" + maximo);
                prom = prom + maximo;

                System.out.println("---------------------------------------------------");
            }

            System.out.println("Promedio: " + prom / 6);
        }

    }
}